Le premier point important pour la programmation est le support du logiciel qui contrôlera le réseau. Le plus simple est un fonctionnement sous le système d'exploitation informatique le plus stable et le plus performant : le DOS.
Par contre, il est nécessaire que le programme fonctionne en multitâche. Le contrôle doit être très réactif pour la détection du mouvement des trains et la sécurité des mouvements d'aiguillages. Les autres fonctions, tels que la configuration, l'affichage des données et certains traitements lents n'ont aucunement besoin de rapidité.
Le noyau multitâche sous DOS est un programme libre écrit en C que j'ai récupéré sur Internet. Il est complètement ouvert et modifiable. Il comprend un nombre important de fonctions de priorité de tâches, de sémaphores et de gestion de la mémoire. Après divers tests, il s'est avéré très fiable et très stable.
Mon plus gros travail est, maintenant, d'y ajouter toute une partie de gestion de fenêtrage suivant les mêmes techniques que Windows 95.
L'année 1998 fut l'année de la programmation de ce logiciel, support final pour y incorporer les fonctions nécessaires au contrôle de notre réseau.

L'ordinateur équipé du logiciel CFMAO ne retire en rien l'attrait d'une commande manuelle car un pupitre de commande classique sera lui aussi connecté et l'informatique présente ne fera que contrôler le bon déroulement des actions de l'utilisateur. Il est néanmoins intéressant de savoir qu'il possèdera une gestion supplémentaire d'itinéraires entièrement programmable.
Au final, le logiciel, écrit en langage C et en Assembleur, est de type multitâche préemptif et possède toute une gestion de fenêtres simultanément actives et pouvant être déplacées sur l 'écran. Le temps de contrôle des cartes liées au réseau est de 50 ms. Le temps de rafraîchissement des variables dans les fenêtres est de 200 ms.